package staff.logic;

import java.util.List;

import staff.logic.Employee.PositionType;

public abstract class Position {
    protected Employee employee;
    protected String description;

    public Position(Employee employee) {
        this.employee = employee;
    }

    /** Find manager for employee from employee system */
    public Employee getManager(EmployeSystem employeSystem) {
        return employeSystem.get(employee.getManagerId());
    }

    /** Find subordinate for employee from employee system */
    public abstract List<Employee> getSubordinate(EmployeSystem employeSystem);

    /** Return type of employee position */
    public abstract PositionType getType();

    /** Return description for position */
    public abstract String getDescription();

    /** Set description for position */
    public abstract void setDescription(String description);

}
